#ifndef __TFTPSER_H
#define __TFTPSER_H

#ifdef __cplusplus
extern "C" {
#endif

#include "../typedef.h"
#include "../comman.h"

typedef struct tftp_file{
	int8  Filename[64];	//文件名
	int8  *lpFile;		//文件指针
	int32 fileMaxlen;	//文件最大长度
	int32 fileCurrent;  //文件指针当前位置
	int32 fileLen;		//文件长度
}TftpFile;
typedef struct 
{
	int16 NightMaxPlusNum;    //夜间模式最大增益编号
	int16 NightAutoWb;        //夜间模式白平衡系数
	int16 Red_Color;          //红参数
	int16 Bule_Color;         //蓝参数
	int16 Green_Color;        //绿参数
}NightMode;
typedef struct {
	uint8 th1;  //是否使用统计上报功能
	uint8 th2; 	//统计上报服务器域名或IP
    uint8 th3;	//统计上报端口
	uint8 uvth1;
	uint16 threshold; //红绿阈值
}SmoothSharpCoe;



#define MAXCONNNUM 7
#define BLKSIZE 1468//1468
#define OVERTIME 100//3000//500
#define RESENDTIME 2//3

#ifdef UC_MS02
#define MAXLISTFILE 9 //wbb 8->9
#endif // UC_MS02

#ifdef NDC300L_H_VPB600
#define MAXLISTFILE 8
#endif // NDC300L_H_VPB600



//功能：tftp初始化
//参数：无
//返回：成功 0 ，失败 -1
int32 tftp_init();

//功能：tftp服务器
//参数：无
//返回：无
void tftp_run();

//功能：得到最近收到的文件?
//参数：无
//返回：m_tftp[i].fileName 最近有收到文件,"" 最近没有收到文件
int8 * new_get_filename();

//功能：得到最近发出的文件名
//参数：无
//返回：m_tftp[i].fileName 最近有发出文件,"" 最近没有发出文件
int8 * new_put_filename();

//功能:添加文件
//参数:tftpfile 文件结构指针
//返回:成功0 失败-1
int16 tftp_addFile(TftpFile *tftpfile);

#ifdef __cplusplus
}
#endif // extern "C" 

#endif
